package com.ny.zmb.openapi.ysutil.from.BizReqJsonCollege;

import com.ny.zmb.openapi.ysutil.annotation.Length;
import com.ny.zmb.openapi.ysutil.annotation.NotBlank;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author ChenZhiZheng
 * @date 20241109
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class YsRegisterSettlementAccountInformation {
    /**
     * 结算账户卡类型
     * 11-对私借记卡
     * 21-对公借记卡
     * 注：企业商户仅支持对公借记卡
     */
    @NotBlank(message = "结算账户卡类型" + "不能为空")
    @Length(min = 1, max = 50, message = "结算账户卡类型" + "长度错误")
    private String accountCardType;
    /**
     * 结算账户卡号
     */
    @NotBlank(message = "结算账户卡号" + "不能为空")
    @Length(min = 1, max = 50, message = "结算账户卡号" + "长度错误")
    private String accountCardno;
    /**
     * 结算账户户名
     */
    @NotBlank(message = "结算账户户名" + "不能为空")
    @Length(min = 1, max = 100, message = "结算账户户名" + "长度错误")
    private String accountCardnoName;
    /**
     * 开户行省（传中文，取值参考：调用公共接口-地区码查询接口），如：广东省
     */
    @NotBlank(message = "开户行省" + "不能为空")
    @Length(min = 1, max = 32, message = "开户行省" + "长度错误")
    private String openAccProvince;
    /**
     * 开户行市（传中文，取值参考：调用公共接口-地区码查询接口），如：深圳市
     */
//    @NotBlank(message = "开户行市" + "不能为空")
//    @Length(min = 1, max = 32, message = "开户行市" + "长度错误")
    private String openAccCity;
    /**
     * 开户行区（传中文，取值参考：调用公共接口-地区码查询接口），如：龙华区
     * 注：如市不存在区时，无需传值
     */
//    @NotBlank(message = "开户行区" + "不能为空")
//    @Length(min = 1, max = 32, message = "开户行区" + "长度错误")
    private String openAccArea;
    /**
     * 开户行编号（传联名行号，取值参考：调用公共接口-开户行查询接口）
     */
    @NotBlank(message = "开户行编号" + "不能为空")
    @Length(min = 1, max = 50, message = "开户行编号" + "长度错误")
    private String openAccBanktype;

    /**
     * 结算账户卡正面（有卡号面）图片编号
     * 企业商户为开户许可证或企业开户的纸质证明文件
     * 文件上传接口返回的fileCode
     */
    @NotBlank(message = "结算账户卡正面（有卡号面）图片编号" + "不能为空")
    @Length(min = 1, max = 50, message = "结算账户卡正面（有卡号面）图片编号" + "长度错误")
    private String accountCardPicFront;
}
